home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / SAREA002.ZIP / SICKAREA.PPE (.txt) < prev   
PCBoard Programming Language Executable  |  1996-01-19  |  5KB  |  380 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Integer  INTEGER001
  21.     Integer  INTEGER002
  22.     Integer  INTEGER003
  23.     Integer  INTEGER004
  24.     Integer  INTEGER005
  25.     Integer  INTEGER006
  26.     Integer  INTEGER007
  27.     Integer  INTEGER008
  28.     Integer  INTEGER009
  29.     Integer  INTEGER010
  30.     Integer  INTEGER011
  31.     Integer  INTEGER012
  32.     String   STRING001
  33.     String   STRING002
  34.     String   STRING003
  35.     String   STRING004
  36.     String   STRING005
  37.     String   STRING006
  38.     String   TSTRING007(500)
  39.     String   TSTRING008(500)
  40.     String   STRING009
  41.     String   STRING010
  42.     String   STRING011
  43.     String   STRING012
  44.     String   STRING013
  45.  
  46. ;------------------------------------------------------------------------------
  47.  
  48.     If (TokCount() > 0) Then
  49.         GetToken STRING009
  50.         Dir STRING009
  51.         End
  52.     Endif
  53.     Print "@X07@POFF@@CLS@"
  54.     FOpen 1, PPEPath() + "SICKAREA.CFG", 2, 0
  55.     FGet 1, STRING003
  56.     FGet 1, STRING004
  57.     FGet 1, STRING005
  58.     FGet 1, STRING012
  59.     FGet 1, STRING013
  60.     FGet 1, STRING009
  61.     FGet 1, INTEGER012
  62.     FGet 1, INTEGER008
  63.     FGet 1, INTEGER009
  64.     FGet 1, INTEGER004
  65.     FGet 1, INTEGER006
  66.     FGet 1, INTEGER005
  67.     FClose 1
  68.     INTEGER010 = 0
  69.     STRING011 = ""
  70.     INTEGER002 = 37
  71.     INTEGER011 = 0
  72.     BOOLEAN001 = 0
  73.     STRING001 = ReadLine(PCBDat(), 31)
  74.     STRING006 = "CNAMES file not found. You got not conferences??"
  75.     If (Exist(STRING001)) Then
  76.         STRING002 = ReadLine(STRING001, (CurConf() + 1) * 33 - 2)
  77.         STRING006 = "Couldnt find a directory listing: " + STRING002
  78.         If (Exist(STRING002)) Then
  79.             STRING006 = ""
  80.             FOpen 1, STRING002, 2, 0
  81.             TSTRING007(0) = "Newest Uploads                     "
  82.             TSTRING008(0) = "U"
  83.             TSTRING007(1) = ""
  84.             FSeek 1, 60, 1
  85.             FRead 1, TSTRING007(1), 35
  86.             TSTRING008(1) = "1"
  87.             INTEGER001 = 1
  88.             INTEGER003 = 1
  89.             :LABEL001
  90.             If (Ferr(1)) Goto LABEL002
  91.             Inc INTEGER001
  92.             Inc INTEGER003
  93.             TSTRING007(INTEGER001) = ""
  94.             TSTRING008(INTEGER001) = ""
  95.             FSeek 1, 61, 1
  96.             FRead 1, TSTRING007(INTEGER001), 35
  97.             TSTRING008(INTEGER001) = String(INTEGER003)
  98.             If (Strip(TSTRING007(INTEGER001), " ") == "") Dec INTEGER001
  99.             Goto LABEL001
  100.             :LABEL002
  101.             FClose 1
  102.             TSTRING007(INTEGER001) = ""
  103.             TSTRING008(INTEGER001) = ""
  104.             TSTRING008(INTEGER001 + 1) = ""
  105.             INTEGER007 = INTEGER001 - 1
  106.             If (Exist(PPEPath() + "S-TOP.PCB")) DispFile PPEPath() + "S-TOP.PCB", 0
  107.             If (INTEGER009 == 0) INTEGER009 = GetY() + 1
  108.             Gosub LABEL017
  109.             FreshLine
  110.             If (Exist(PPEPath() + "S-BOT.PCB")) DispFile PPEPath() + "S-BOT.PCB", 0
  111.             Gosub LABEL015
  112.             :LABEL003
  113.             STRING010 = Upper(Inkey())
  114.             If (STRING010 == "") Goto LABEL003
  115.             If ((STRING010 == "UP") || (STRING010 == "W")) Then
  116.                 Gosub LABEL018
  117.                 If (INTEGER010 - 1 < 0) Then
  118.                     If (INTEGER010 + INTEGER011 - 1 >= 0) Then
  119.                         If (BOOLEAN001 == 1) Then
  120.                             Gosub LABEL014
  121.                             BOOLEAN001 = 0
  122.                             INTEGER011 = INTEGER011 - INTEGER012
  123.                             INTEGER010 = INTEGER012 - 1
  124.                             Gosub LABEL015
  125.                             Goto LABEL004
  126.                         Endif
  127.                         BOOLEAN001 = 0
  128.                         INTEGER011 = INTEGER011 - INTEGER012
  129.                         INTEGER010 = INTEGER012 - 1
  130.                         Gosub LABEL017
  131.                         Gosub LABEL015
  132.                     Endif
  133.                     :LABEL004
  134.                     Goto LABEL005
  135.                 Endif
  136.                 If (Strip(TSTRING007(INTEGER010 + INTEGER011 - 1), " ") <> "") Then
  137.                     Gosub LABEL014
  138.                     Dec INTEGER010
  139.                     Gosub LABEL015
  140.                 Endif
  141.                 :LABEL005
  142.                 Goto LABEL013
  143.             Endif
  144.             If ((STRING010 == "DOWN") || (STRING010 == "Z")) Then
  145.                 Gosub LABEL018
  146.                 If (INTEGER010 + 2 > INTEGER012) Then
  147.                     If (INTEGER007 >= INTEGER011 + INTEGER012) Then
  148.                         If (BOOLEAN001 == 0) Then
  149.                             Gosub LABEL014
  150.                             BOOLEAN001 = 1
  151.                             INTEGER011 = INTEGER011 + INTEGER012
  152.                             INTEGER010 = 0
  153.                             Gosub LABEL015
  154.                             Goto LABEL006
  155.                         Endif
  156.                         BOOLEAN001 = 0
  157.                         INTEGER011 = INTEGER011 + INTEGER012
  158.                         INTEGER010 = 0
  159.                         Gosub LABEL017
  160.                         Gosub LABEL015
  161.                     Endif
  162.                     :LABEL006
  163.                     Goto LABEL007
  164.                 Endif
  165.                 If (Strip(TSTRING007(INTEGER010 + INTEGER011 + 1), " ") <> "") Then
  166.                     Gosub LABEL014
  167.                     Inc INTEGER010
  168.                     Gosub LABEL015
  169.                 Endif
  170.                 :LABEL007
  171.                 Goto LABEL013
  172.             Endif
  173.             If ((STRING010 == "LEFT") || (STRING010 == "A")) Then
  174.                 Gosub LABEL018
  175.                 If (INTEGER011 - INTEGER012 >= 0) Then
  176.                     If (BOOLEAN001 == 1) Then
  177.                         Gosub LABEL014
  178.                         BOOLEAN001 = 0
  179.                         INTEGER011 = INTEGER011 - INTEGER012
  180.                         Gosub LABEL015
  181.                         Goto LABEL008
  182.                     Endif
  183.                     INTEGER011 = INTEGER011 - INTEGER012
  184.                     BOOLEAN001 = 0
  185.                     Gosub LABEL017
  186.                     Gosub LABEL015
  187.                     :LABEL008
  188.                     Goto LABEL009
  189.                 Endif
  190.                 Beep
  191.                 :LABEL009
  192.                 Goto LABEL013
  193.             Endif
  194.             If ((STRING010 == "RIGHT") || (STRING010 == "S")) Then
  195.                 Gosub LABEL018
  196.                 If (INTEGER007 >= INTEGER011 + INTEGER012) Then
  197.                     If (BOOLEAN001 == 0) Then
  198.                         Gosub LABEL014
  199.                         BOOLEAN001 = 1
  200.                         INTEGER011 = INTEGER011 + INTEGER012
  201.                         Gosub LABEL015
  202.                         Goto LABEL010
  203.                     Endif
  204.                     BOOLEAN001 = 0
  205.                     INTEGER011 = INTEGER011 + INTEGER012
  206.                     Gosub LABEL017
  207.                     Gosub LABEL015
  208.                     :LABEL010
  209.                     Goto LABEL011
  210.                 Endif
  211.                 Beep
  212.                 :LABEL011
  213.                 Goto LABEL013
  214.             Endif
  215.             If (((STRING010 >= "0") && (STRING010 <= "9")) || (STRING010 == "U")) Then
  216.                 Print STRING012
  217.                 If (GetX() + Len(STRING010) <= INTEGER004 + INTEGER005) Then
  218.                     Print STRING010
  219.                     STRING011 = STRING011 + STRING010
  220.                 Endif
  221.                 Goto LABEL013
  222.             Endif
  223.             If (STRING010 == Chr(8)) Then
  224.                 If (GetX() - 1 >= INTEGER004) Print Chr(8) + STRING013 + Chr(8)
  225.                 STRING011 = Mid(STRING011, 1, GetX() - INTEGER004)
  226.                 Goto LABEL013
  227.             Endif
  228.             If (STRING010 == Chr(13)) Then
  229.                 Print "@X07@PON@@CLS@"
  230.                 If (STRING011 <> "") Then
  231.                     Dir STRING011
  232.                     Goto LABEL012
  233.                 Endif
  234.                 If (INTEGER010 + INTEGER011 == 0) Then
  235.                     Dir "U"
  236.                     Goto LABEL012
  237.                 Endif
  238.                 Dir String(TSTRING008(INTEGER010 + INTEGER011))
  239.                 :LABEL012
  240.                 Goto LABEL019
  241.                 Goto LABEL013
  242.             Endif
  243.             If (STRING010 == Chr(27)) Then
  244.                 DefColor
  245.                 Cls
  246.                 Goto LABEL019
  247.             Endif
  248.             :LABEL013
  249.             Goto LABEL003
  250.             :LABEL014
  251.             AnsiPos INTEGER008, INTEGER009 + INTEGER010
  252.             If (BOOLEAN001) Forward INTEGER002
  253.             Print STRING004 + " " + Left(TSTRING007(INTEGER010 + INTEGER011), 30) + "@X07"
  254.             Return
  255.             :LABEL015
  256.             If (Strip(TSTRING007(INTEGER010 + INTEGER011), " ") == "") INTEGER010 = INTEGER007 - INTEGER011
  257.             AnsiPos INTEGER008, INTEGER009 + INTEGER010
  258.             If (BOOLEAN001) Forward INTEGER002
  259.             If (Upper(Left(STRING009, 1)) == "Y") Then
  260.                 Print STRING003 + " " + Upper(Left(TSTRING007(INTEGER010 + INTEGER011), 30)) + "@X07"
  261.                 Goto LABEL016
  262.             Endif
  263.             Print STRING003 + " " + Left(TSTRING007(INTEGER010 + INTEGER011), 30) + "@X07"
  264.             :LABEL016
  265.             AnsiPos INTEGER004 + Len(STRING011), INTEGER006
  266.             Return
  267.             :LABEL017
  268.             For INTEGER001 = INTEGER011 To INTEGER011 + INTEGER012 - 1
  269.                 AnsiPos INTEGER008 - 3, INTEGER009 + INTEGER001 - INTEGER011
  270.                 Print STRING005 + Right(TSTRING008(INTEGER001), 2) + " " + STRING004 + " " + Left(TSTRING007(INTEGER001), 30) + "@X07"
  271.             Next
  272.             For INTEGER001 = INTEGER011 + INTEGER012 To INTEGER011 + INTEGER012 * 2 - 1
  273.                 AnsiPos INTEGER008 + INTEGER002 - 3, INTEGER009 + INTEGER001 - INTEGER011 - INTEGER012
  274.                 Print STRING005 + Right(TSTRING008(INTEGER001), 2) + " " + STRING004 + " " + Left(TSTRING007(INTEGER001), 30) + "@X07"
  275.             Next
  276.             Return
  277.             :LABEL018
  278.             AnsiPos INTEGER004, INTEGER006
  279.             For INTEGER001 = 1 To Len(STRING011)
  280.                 Print STRING013
  281.             Next
  282.             Backup Len(STRING011)
  283.             STRING011 = ""
  284.             Return
  285.         Endif
  286.     Endif
  287.     :LABEL019
  288.     Print "@X07"
  289.     Cls
  290.     If (STRING006 <> "") Print "@X04--@X84ERR0R@X04: @X0F" + STRING006
  291.  
  292. ;------------------------------------------------------------------------------
  293. ;
  294. ; Usage report (before postprocessing)
  295. ;
  296. ; ■ Statements used :
  297. ;
  298. ;    1       End
  299. ;    2       Cls
  300. ;    57      Goto 
  301. ;    55      Let 
  302. ;    13      Print 
  303. ;    41      If 
  304. ;    2       DispFile 
  305. ;    2       FOpen 
  306. ;    2       FClose 
  307. ;    12      FGet 
  308. ;    1       DefColor
  309. ;    26      Gosub 
  310. ;    4       Return
  311. ;    3       Inc 
  312. ;    2       Dec 
  313. ;    1       GetToken 
  314. ;    2       Beep
  315. ;    4       Dir 
  316. ;    6       AnsiPos 
  317. ;    1       Backup 
  318. ;    2       Forward 
  319. ;    1       FreshLine
  320. ;    2       FSeek 
  321. ;    2       FRead 
  322. ;
  323. ;
  324. ; ■ Functions used :
  325. ;
  326. ;    3       *
  327. ;    67      +
  328. ;    24      -
  329. ;    22      ==
  330. ;    4       <>
  331. ;    4       <
  332. ;    5       <=
  333. ;    2       >
  334. ;    12      >=
  335. ;    31      !
  336. ;    7       &&
  337. ;    8       ||
  338. ;    5       Len(
  339. ;    3       Upper()
  340. ;    1       Mid()
  341. ;    6       Left()
  342. ;    2       Right()
  343. ;    1       Ferr()
  344. ;    5       Chr()
  345. ;    4       Strip()
  346. ;    1       Inkey()
  347. ;    2       String()
  348. ;    1       CurConf()
  349. ;    1       PCBDat()
  350. ;    5       PPEPath()
  351. ;    2       ReadLine()
  352. ;    4       Exist()
  353. ;    3       GetX()
  354. ;    1       GetY()
  355. ;    1       TokCount()
  356. ;
  357. ;------------------------------------------------------------------------------
  358. ;
  359. ; Analysis flags : d
  360. ;
  361. ; d - Access PCBOARD.DAT ■ 2
  362. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  363. ;     for many PPE so they can find various informations on the system
  364. ;     (system paths, max number of lines in messages, ...) but it may also
  365. ;     be a way to gather vital informations.
  366. ;     ■ Search for : PCBDAT()
  367. ;
  368. ;------------------------------------------------------------------------------
  369. ;
  370. ; Postprocessing report
  371. ;
  372. ;    3       For/Next
  373. ;    0       While/EndWhile
  374. ;    27      If/Then or If/Then/Else
  375. ;    0       Select Case
  376. ;
  377. ;------------------------------------------------------------------------------
  378. ;                 AEGiS Corp - Break the routines, code against the machines!
  379. ;------------------------------------------------------------------------------
  380.